const WXAPI = require('../../wxapi/domain')
var app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  },
  bindGetUserInfo: function(e) {
    if (!e.detail.userInfo) {
      return;
    }
    if (app.globalData.isConnected) {
      wx.setStorageSync('userInfo', e.detail.userInfo)
      this.login();
    } else {
      wx.showToast({
        title: '当前无网络',
        icon: 'none',
      })
    }
  },
  login: function() {
    const that = this;
    const openid = wx.getStorageSync('openid');
    if (openid) {
      app.navigateToLogin = false
      wx.navigateBack();
      return;
    }else{
      wx.login({
        success: function (res) {
          WXAPI.login(res.code).then(function (res) {
            if (res.code === 0) {
              // 去注册
              that.getUserInfo(res.data.sessionKey, res.data.openid);
              return;
            }
            if (res.code != 0) {
              // 登录错误
              wx.hideLoading();
              wx.showModal({
                title: '提示',
                content: '无法登录，请重试',
                showCancel: false
              })
              return;
            }

            // 回到原来的地方放
            app.navigateToLogin = false
            wx.navigateBack();
          })
        }
      })
    }
  },
  getUserInfo: function (sessionKey,openid) {
    let that = this;
    wx.getUserInfo({
      success: function(res) {
        wx.setStorageSync('openid', openid)
        let iv = res.iv;
        let encryptedData = res.encryptedData;
        let rawData = res.rawData;
        let signature = res.signature;
        // 下面开始调用注册接口
        WXAPI.getUserInfo( {
          sessionKey: sessionKey,
          signature: signature,
          rawData: rawData,
          encryptedData: encryptedData,
          iv: iv
        }).then(function(res) {
          wx.hideLoading();
          that.login();
        })
      }
    })
  }
})